package com.mokylin.dbschema.handler;

import java.io.File;
import java.util.List;

/**
 * sql文件版本处理
 * @author 李朝(Li.Zhao)
 * @since 2015/8/31.
 */

public interface SqlVersionHandler {

    /**
     * 获取当前的版本：在sql文件中选取版本号最大的版本
     * @return
     */
    String getCurrentVersion();

    /**
     * 获取某个版本之后的sql文件，如当前版本为5，获取2之后的版本为3,4,5
     * @param startVersion
     * @return
     */
    List<File> getSortSqlFileAfter(String startVersion);


    /**
     * 获取文件的版本 如：test_01.sql 版本为01
     * @param file
     * @return
     */
    String getFileVersion(File file);


    /**
     * 获取该版本的文件
     * @param version
     * @return sql文件
     */
    File findSqlFileByVersion(String version);


}